#ifndef __SPI_H
#define __SPI_H
#include "main.h"

#define LCD_BLK_PIN          GPIO_PIN_6
#define LCD_BLK_GPIO_PORT    GPIOA
#define LCD_CS_PIN           GPIO_PIN_3
#define LCD_CS_GPIO_PORT     GPIOA
#define LCD_RST_PIN          GPIO_PIN_4
#define LCD_RST_GPIO_PORT    GPIOA
#define LCD_DC_PIN           GPIO_PIN_5
#define LCD_DC_GPIO_PORT     GPIOA
#define LCD_SCL_PIN          GPIO_PIN_1
#define LCD_SCL_GPIO_PORT    GPIOA
#define LCD_SDA_PIN          GPIO_PIN_0
#define LCD_SDA_GPIO_PORT    GPIOA

#define LCD_SCLK_CLR        HAL_GPIO_WritePin(LCD_SCL_GPIO_PORT, LCD_SCL_PIN, GPIO_PIN_RESET)
#define LCD_SCLK_SET        HAL_GPIO_WritePin(LCD_SCL_GPIO_PORT, LCD_SCL_PIN, GPIO_PIN_SET)
#define LCD_MOSI_CLR        HAL_GPIO_WritePin(LCD_SDA_GPIO_PORT, LCD_SDA_PIN, GPIO_PIN_RESET)
#define LCD_MOSI_SET        HAL_GPIO_WritePin(LCD_SDA_GPIO_PORT, LCD_SDA_PIN, GPIO_PIN_SET)
#define LCD_RES_CLR         HAL_GPIO_WritePin(LCD_RST_GPIO_PORT, LCD_RST_PIN, GPIO_PIN_RESET)
#define LCD_RES_SET         HAL_GPIO_WritePin(LCD_RST_GPIO_PORT, LCD_RST_PIN, GPIO_PIN_SET)
#define LCD_DC_CLR          HAL_GPIO_WritePin(LCD_DC_GPIO_PORT, LCD_DC_PIN, GPIO_PIN_RESET)
#define LCD_DC_SET          HAL_GPIO_WritePin(LCD_DC_GPIO_PORT, LCD_DC_PIN, GPIO_PIN_SET)
#define LCD_CS_CLR          HAL_GPIO_WritePin(LCD_CS_GPIO_PORT, LCD_CS_PIN, GPIO_PIN_RESET)
#define LCD_CS_SET          HAL_GPIO_WritePin(LCD_CS_GPIO_PORT, LCD_CS_PIN, GPIO_PIN_SET)
#define LCD_BLK_CLR         HAL_GPIO_WritePin(LCD_BLK_GPIO_PORT, LCD_BLK_PIN, GPIO_PIN_RESET)
#define LCD_BLK_SET         HAL_GPIO_WritePin(LCD_BLK_GPIO_PORT, LCD_BLK_PIN, GPIO_PIN_SET)

void software_spi_init(void);
#endif
